package shoot.clientInfo;


import java.io.Serializable;
import java.util.ArrayList;

import bullets.BulletBoss;
import bullets.BulletEnemy;
import bullets.BulletWing;
import bullets.HeroBullet;
import core.FlyingObject;
import enemy.EnemyBoss;
import hero.Hero;
import hero.UltimateSkill;
import hero.WingPlane;
import sky.Sky;



public class ShootClientInfo implements Serializable{
	private static final long serialVersionUID = -4454491808505617221L;
	private Sky sky = new Sky(1);
	private ArrayList<Hero>hero =new ArrayList<>() ;
	private ArrayList<WingPlane> wingPlanes = new ArrayList<>();
	private ArrayList<BulletWing> wingBullets = new ArrayList<>();
	private ArrayList<FlyingObject> enemy=new ArrayList<>();
	private ArrayList<HeroBullet> heroBullets =new ArrayList<>();
	private ArrayList<BulletEnemy> bulletEnemies=new ArrayList<>();
	private ArrayList<BulletBoss> bulletBoss=new ArrayList<>(); 
	private ArrayList<EnemyBoss> enemyBoss=new ArrayList<>();
	private ArrayList<UltimateSkill> ultimateSkill=new ArrayList<>();
	public static final int READY=0;
	public static final int RUN=1;
	public static final int GAMEOVER=2;
	private int gameStatus=READY;

	public ShootClientInfo() {
		super();
	}
	
	public ArrayList<UltimateSkill> getUltimateSkill() {
		return ultimateSkill;
	}

	public void setUltimateSkill(ArrayList<UltimateSkill> ultimateSkill) {
		this.ultimateSkill = ultimateSkill;
	}

	public ArrayList<EnemyBoss> getEnemyBoss() {
		return enemyBoss;
	}

	public void setEnemyBoss(ArrayList<EnemyBoss> enemyBoss) {
		this.enemyBoss = enemyBoss;
	}

	public ArrayList<BulletEnemy> getBulletEnemies() {
		return bulletEnemies;
	}

	public void setBulletEnemies(ArrayList<BulletEnemy> bulletEnemies) {
		this.bulletEnemies = bulletEnemies;
	}

	public ArrayList<BulletBoss> getBulletBoss() {
		return bulletBoss;
	}

	public void setBulletBoss(ArrayList<BulletBoss> bulletBoss) {
		this.bulletBoss = bulletBoss;
	}

	public Hero getHeroByFlag(ArrayList<Hero> heros,Integer flag) {
		Hero heroFlag=null;
		for(int i=0;i<heros.size();i++) {
			if(heros.get(i).getFlag()==flag) {
				heroFlag=heros.get(i);				
			}
		}
		return heroFlag;
	}
	public int getGameStatus() {
		return gameStatus;
	}

	public void setGameStatus(int gameStatus) {
		this.gameStatus = gameStatus;
	}
	
	public Sky getSky() {
		return sky;
	}
	public void setSky(Sky sky) {
		this.sky.setY1(sky.getY1());;
		this.sky.setY(sky.getY());
	}
	public ArrayList<Hero> getHero() {
		return hero;
	}
	public ArrayList<FlyingObject> getEnemy() {
		return enemy;
	}	
	public ArrayList<HeroBullet> getHeroBullets() {
		return heroBullets;
	}	
	
	public ArrayList<WingPlane> getWingPlanes() {
		return wingPlanes;
	}

	public void setWingPlanes(ArrayList<WingPlane> wingPlanes) {
		this.wingPlanes = wingPlanes;
	}
	public ArrayList<BulletWing> getWingBullets() {
		return wingBullets;
	}

	public void setWingBullets(ArrayList<BulletWing> wingBullets) {
		this.wingBullets = wingBullets;
	}
	
	

}
